1 using System.Collections;
2 using
System.Collections.Generic;
3 using
UnityEngine;
4
5 public
class FairyScript : MonoBehaviour {
6
7     
public int playerLives = 1;
8
9     
public GameObject bullet;
10     
bool isGrabbed;
11
12     
// Use this for initialization
13     
void Start () {
14         InvokeRepeating(
"Shoot", .001f, .25f);
15     }
16     
17     
// Update is called once per frame
18     
void Update () {
19
20     }
21
22     
void FixedUpdate() {
23         
if(isGrabbed){
24             Vector3 worldPosition = Camera.main.ScreenToWorldPoint(Input.mousePosition);
25             worldPosition.z =
0;
26 // Debug.Log (
"World Position: " + worldPosition.ToString());
27             
this.transform.position = worldPosition;
28         }
29     }
30
31     
void OnMouseDown(){
32         Debug.Log (
"FairyScript.OnMouseDown()");
33         isGrabbed =
true;
34     }
35
36     
void OnMouseUp(){
37         Debug.Log (
"FairyScript.OnMouseUp()");
38         
if(isGrabbed){
39             isGrabbed =
false;
40
41 // Vector3 diff = launchPoint.transform.position -
this.transform.position;
42 //
this.GetComponent<Rigidbody2D>().velocity = diff * launchFactor;
43         }
44     }
45
46     
void OnTriggerEnter2D(Collider2D collider) {
47 // Debug.Log (
"FairyScript.OnTriggerEnter2D()");
48
49         
if (collider.gameObject.layer == LayerMask.NameToLayer("Reward")) {
50             Debug.Log (
"Reward");
51
52             RewardScript reward = collider.gameObject.GetComponent<RewardScript> ();
53             
int rewardValue = reward.rewardValue;
54             ScoreManager.score += rewardValue;

55
56 // Destroy (collider.gameObject);

57             collider.gameObject.SetActive(
false);
58         }
59         
if (collider.gameObject.layer == LayerMask.NameToLayer("Enemy")) {
60             Debug.Log (
"Enemy");
61             playerLives--;
62
63             
if (playerLives <= 0) {
64                 Debug.Log (
"Player is dead");
65                 
// stop the game, don't destroy the Player
66                 
// play dead animation
67                 Destroy (gameObject,
0.1f);
68             }
else {
69                 
// play harmed animation
70                 StartCoroutine(Flasher());
71             }
72         }
73     }
74
75     IEnumerator Flasher()
76     {
77         
for (int i = 0; i < 5; i++)
78         {
79             Color newColor = Color.red;
80             newColor.a -=
0.5f;
81             
this.GetComponent<SpriteRenderer> ().material.color = newColor;
82             
yield return new WaitForSeconds(.1f);
83             
this.GetComponent<SpriteRenderer> ().material.color = Color.white;
84             
yield return new WaitForSeconds(.1f);
85         }
86     }
87
88     
void Shoot() {
89         Vector3 bulletOffset =
new Vector3(0, 1f, 0.1f);
90 // Instantiate(bullet,
this.transform.position + bulletOffset, Quaternion.identity);
91
92 // GameObject bullet = ObjectPooler.SharedInstance.GetPooledObject(gameObject.tag);

93         GameObject b = ObjectPooler.SharedInstance.GetPooledObject(bullet.tag);
94         
if (b != null) {
95             b.transform.position =
this.transform.position + bulletOffset;
96             b.SetActive(
true);
97         }
98     }
99
100 }


Gõ tìm kiếm nhanh...